/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.webhomesites.locacao.model;

import br.com.webhomesites.padrao.utils.GenericDAO;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.Query;

/**
 *
 * @author Webhome
 */
public class ManutencaoDAO extends GenericDAO<ManutencaoModel> {
    
    public String findNomeEmpresaManutencaoByIdManutencao(long codigo) {
        Query query = getEntityCriada().createNamedQuery("ManutencaoModel.findNomeEmpresaManutencaoByIdManutencao");
        query.setParameter("codigo", codigo);
        String retorno = (String) query.getSingleResult();
        return retorno;
    }
 
//    static List<LocacaoModel> listaLocacao = new ArrayList<>();
//    
//    @Override
//    public void inserirLocacao(LocacaoModel locacaoModel) {
//        
//        listaLocacao.add(locacaoModel);
//        
//        for(int i = 0; i < listaLocacao.size(); i++) {
//            System.out.println(listaLocacao.get(i).toString());
//        }
//        
//    }
//
//    @Override
//    public void cancelarLocacao(LocacaoModel locacaoModel) {
//        //throw new UnsupportedOperationException("Not supported yet.");
//    }
//
//    @Override
//    public List<LocacaoModel> selecionarLocacaoPorCodigoLocacao(int codigoLocacao) {
//         
//        List<LocacaoModel> listaUnica = new ArrayList<>();
//        for(int i = 0; i < listaLocacao.size(); i++) {
//            if(listaLocacao.get(i).getId() == codigoLocacao) {
//                listaUnica.add(listaLocacao.get(i));
//            }
//        }        
//        return listaUnica;        
//    }
//    
//    @Override
//    public List<LocacaoModel> selecionarLocacaoPorCodigoCliente(int codigoCliente) {
//         
//        List<LocacaoModel> listaCliente = new ArrayList<>();
//        for(int i = 0; i < listaLocacao.size(); i++) {
//            if(listaLocacao.get(i).getCodigoCliente() == codigoCliente) {
//                listaCliente.add(listaLocacao.get(i));
//            }
//        }        
//        return listaCliente;        
//    }
//
//    @Override
//    public List selecionarTodasLocacoes() {
//        //throw new UnsupportedOperationException("Not supported yet.");
//        return listaLocacao;
//    }
//    
//    @Override
//    public List buscarLocacaoPorPeriodo(Date dataInicial, Date dataFinal) {
//        
//        List<LocacaoModel> listaLocacaoPeriodo = new ArrayList<>();
//        for(int i = 0; i < listaLocacao.size(); i++) {
//            if(listaLocacao.get(i).getDataLocacao().compareTo(dataInicial) >= 0 && listaLocacao.get(i).getDataLocacao().compareTo(dataFinal) <= 0) {
//                listaLocacaoPeriodo.add(listaLocacao.get(i));
//            }
//        }        
//        return listaLocacaoPeriodo;
//    }
    
    public List<String> getTabela() {
        List<String> tabelaPreco = new ArrayList<>();
        tabelaPreco.add("Diaria");
        tabelaPreco.add("Semanal");
        tabelaPreco.add("Quinzenal");
        tabelaPreco.add("Mensal");
        return tabelaPreco;
    }

    public void setTabelaPreco(List<String> tabelaPreco) {
//        tabelaPreco.add("Diaria");
//        tabelaPreco.add("Semanal");
//        tabelaPreco.add("Quinzenal");
//        tabelaPreco.add("Mensal");
    }

    public List<ManutencaoModel> findByNomeEmpresaManutencao(String nomeEmpresaManutencao) {
        Query query = getEntityCriada().createNamedQuery("ManutencaoModel.findByNomeEmpresaManutencao");
        query.setParameter("nomeEmpresaManutencao", nomeEmpresaManutencao);
        List<ManutencaoModel> retorno = query.getResultList();
        return retorno;
    }

    public List<ManutencaoModel> findByIntervaloData(Date dataInicialSaida, Date dataFinalSaida) {
        Query query = getEntityCriada().createNamedQuery("ManutencaoModel.findByIntervaloData");
        query.setParameter("datai", dataInicialSaida);
        query.setParameter("dataf", dataFinalSaida);
        List<ManutencaoModel> retorno = query.getResultList();
        return retorno;
    }
    
}
